home *** CD-ROM | disk | FTP | other *** search
/ Spanish Scene 1 / SpanishScene1.iso / spanish pack n°1 by llfb / --llfb-- / programas / sources1.dms / sources1.adf / SOURCES / Vectores / Multi_Vector.ASM < prev    next >
Assembly Source File  |  1996-06-04  |  17KB  |  515 lines

  1. ;MULTIRAYFILL   CODED BY LADO OF FI-RE CREW !!!!!    
  2.     
  3. ;    org $25000
  4. ;    load $25000
  5.     
  6.  
  7.     Section    Roman,code_c
  8.  
  9.  
  10. ;    >extern 'DF0:raytr.dat',sinus
  11.     
  12.  
  13. j    lea     $30000,a0                 ;memoria torlese
  14. lo    clr.l     (a0)+
  15.     cmp.l     #$50000,a0
  16.     bcs.s     lo
  17.  
  18.     
  19.     lea     $dff000,a6               ;custom
  20. ujn    move.l     4(a6),d0
  21.     lsr.l     #8,d0
  22.     cmp.w     #$131,d0
  23.     bne.s     ujn
  24.     move.w     #$7fff,$96(a6)    ;clear  DMACON
  25.     move.w     #$7fff,$9a(a6)    ;clear  INTENA
  26.     move.l     #copper,$84(a6)   
  27.     clr.w     $8a(a6)            ;start copper
  28.     move.w     #$87c0,$96(a6)    ;DMACON
  29.     move.w     #$c010,$9a(a6)
  30.  
  31. h1    bsr     wait                 ;waitblitter
  32. h2    move.l     4(a6),d0
  33.     lsr.l     #8,d0
  34.     cmp.w     #$d0,d0
  35.     bne.s     h2
  36.     bsr     filler               
  37.     btst     #6,$bfe001
  38.     bne.s     h1
  39.     bsr     wait
  40.     
  41.     move.w     #$7fff,$96(a6)
  42.     move.w     #$7fff,$9a(a6)
  43.     clr.w     $88(a6)            ;start original copper
  44.     move.w     #$87f0,$96(a6)
  45.     move.w     #$e02c,$9a(a6)
  46.     clr.l     d0
  47.     rts                      ;END
  48.  
  49. ;********************* nagy kockahoz tartozo szogek novelese ***********
  50. ;********************* 2D x,y koordinatak kiszamolasa ******************
  51.  
  52. filler    addq.w     #4,addx           ;big cube xszog novelese
  53.     and.w     #$1fe,addx   
  54.     addq.w     #4,addy           ;big cube yszog novelese    
  55.     and.w     #$1fe,addy
  56.     addq.w     #2,addz           ;big cube zszog novelese        
  57.     and.w     #$1fe,addz
  58.     clr.w     pack              ;ne mentse el a 3d koordinatakat        
  59.     lea     coords1(pc),a0      ;kocka pontjainak x,y,z koordinatai
  60.     lea     tarolo1(pc),a2      ;2D x,y letarolasa
  61.     lea     addx(pc),a4         ;big cube angles
  62.     moveq     #7,d7             ;8 pont van /kocka/
  63.     bsr     calcord
  64.  
  65. ;******************* kis kockahoz tartozo szogek novelese *************
  66. ;******************* atmeneti 3D x,y,z coords meghat. *****************
  67.  
  68.     addq.w     #6,addx2              ;kis cube x2szog novelese
  69.     and.w     #$1fe,addx2   
  70.     subq.w     #2,addy2           ;kis cube y2szog novelese    
  71.     and.w     #$1fe,addy2
  72.     addq.w     #2,addz2           ;kis cube z2szog novelese        
  73.     and.w     #$1fe,addz2
  74.     move.w     #1,pack           ;el kell menteni a 3d x,y,z-t
  75.     lea     coords2(pc),a0       
  76.     lea     tarolo2(pc),a2       ;2D x,y letarolasa
  77.     lea     addx2(pc),a4         ;kis kocka angles
  78.     moveq     #7,d7              ;8 pont van /kocka/
  79.     bsr     calcord
  80.     
  81. ;*********************** kepernyo csere *************************
  82. ;*********************** kepernyo torles ************************
  83.  
  84.     move.l     #$ffff8000,$72(a6)  ;vonalhuzashoz standard ertekek
  85.     move.l     #-1,$44(a6)
  86.     move.w     #160,$60(a6)        ;kepernyo szelessege
  87.  
  88.     eor.w     #$8000,erno+2        ;kepernyo csere
  89.     eor.w     #$8000,copscr       ;csere a copperben is
  90.     eor.w     #$8000,copscr+4
  91.     eor.w     #$8000,copscr+8
  92.     eor.w     #$8000,copscr+12
  93.  
  94.     move.l     erno(pc),a0          ;aktualis kepernyo
  95.     add.l     #30+[190*$a0],a0      ;az big cube jobb also sarka
  96.     bsr     wait                    ;blt ready ?
  97.     move.l     #$01000002,$40(a6)         ;USE D   DESC
  98.     move.w     #$28-[[13*16]/8],$66(a6)   ;modulo  $28-((Xsize*16)/8)
  99.     move.l     a0,$54(a6)                 ;D cel
  100.     move.w     #$b30d,$58(a6)             
  101.  
  102. ;********************** negy kocka eleinek megrajzolasa *************
  103.  
  104.     lea     tarolo1(pc),a1         ;2D x,y ertekek
  105.     lea     meghat1(pc),a2         ;structure
  106.     lea     sinus+$400(pc),a3      ;sor kezdopontja /0-f/ + $a4a or $b4a
  107.     lea     sinus+$680(pc),a5      ;szelesseg/2/ es vonal hossz values
  108.     clr.b     muti           
  109.     move.w     (a2)+,lap           ;lapok szama /6/
  110. h7    move.l     (a2)+,d7            ;hany pontot kosson ossze
  111.     move.l     (a2)+,a4            ;oszzekotesi sorrend
  112.     move.l     (a2)+,scr           ;melyik kepernyore
  113.     move.l     (a2)+,col           ;mutato a szinpalettara,melyik szin a copp.
  114.     move.l     (a2)+,const         ;mely tengely allando  /100 or -100/
  115.     move.l     erno(pc),a0         ;ide rajzol
  116.     movem.w (a4),d0/d1/d2      ;lathatosag eldontese
  117.     move.w     (a1,d1.w),d3        ;x1
  118.     sub.w     (a1,d0.w),d3         ;X1-X0
  119.     move.w     2(a1,d2.w),d4       ;y2
  120.     sub.w     2(a1,d1.w),d4        ;Y2-Y1
  121.     move.w     2(a1,d1.w),d5       ;y1
  122.     sub.w     2(a1,d0.w),d5        ;Y1-Y0
  123.     move.w     (a1,d2.w),d6        ;x2
  124.     sub.w     (a1,d1.w),d6         ;X2-X1
  125.     mulu     d4,d3                 ;(y2-y1)(x1-x0)=d3
  126.     mulu     d6,d5                 ;(y1-y0)(x2-x1)=d5
  127.     sub.w     d5,d3                
  128.     bmi.s     vakon                  ;nem latszik
  129.     moveq     #10,d5               ;1024
  130.     lsr.w     d5,d3                ;d3=d3/1024
  131.     and.w     #$1f,d3              ;also 5 bit levalasztasa
  132.     add.w     d3,d3                ;word
  133.     add.w     #6,d3
  134.     movem.l a0/a1,-(sp)
  135.     lea     colors(pc),a0          ;szinek
  136.     lea     copcol(pc),a1          ;copperben a szinek
  137.     add.w     col(pc),a0           ;uj szin
  138.     add.w     col+2(pc),a1         ;melyik szin a copperban
  139.     move.w     (a0,d3.w),d3        ;uj szin bekerese
  140.     move.w     d3,(a1)
  141.     movem.l (sp)+,a0/a1
  142.     
  143.     move.w     (a4)+,d5            ;1.pont
  144.     move.w     (a1,d5.w),d0        ;x1 koordinata
  145.     move.w     2(a1,d5.w),d1       ;y1 koordinata
  146.     bsr     lines                  ;vonalhuzo
  147.     bsr     minor                  ;mely kis cube-k latszanak
  148. vakon    subq.w     #1,lap              ;lapszam csokkentes
  149.     bne.w     h7                     ;van meg ?
  150.  
  151. ;**************** a kis kockak megrajzolasa **********************
  152.  
  153.     lea     tarolo3(pc),a0         ;kis kocka x,y bazis
  154.     btst     #0,muti               ;x=100 or x=-100
  155.     beq.s     no1
  156.     lea     100(a0),a1             ;2d x,y coords  /x allando !!
  157.     lea     meghat3(pc),a2         ;vonalhuzas strukturaja
  158.     bsr     second                 ;lathatosag+vonalhuzas
  159. no1    lea     200(a0),a0             ;bazis+200
  160.     btst     #1,muti            ;y=100 or y=-100
  161.     beq.s     no2
  162.     lea     100(a0),a1
  163.     lea     meghat4(pc),a2
  164.     bsr     second
  165. no2    lea     200(a0),a0
  166.     btst     #2,muti           ;z=100 or x=-100
  167.     beq.s     no3
  168.     lea     100(a0),a1
  169.     lea     meghat2(pc),a2
  170.     bsr     second                
  171.  
  172. ;**************** a cucc befillezese ***************************
  173.     
  174. no3    move.l     erno(pc),a0               ;aktualis kepernyo
  175.     add.l     #30+[190*$a0],a0           ;big cube jobb also sarka
  176.     bsr     wait                         ;waitblitter
  177.     move.l     #$09f00012,$40(a6)        ;USE AD , LF:D=A , EFE , DESC
  178.     move.w     #$28-[[13*16]/8],$64(a6)  
  179.     move.w     #$28-[[13*16]/8],$66(a6)
  180.     move.l     a0,$50(a6)
  181.     move.l     a0,$54(a6)
  182.     move.w     #$b20d,$58(a6)        
  183.     rts
  184.     
  185. ;***************** kis kocka megrajzolasa *************************
  186.  
  187. second    move.l     a0,-(sp)
  188.     lea     sinus+$400(pc),a3      ;sor kezdopontja /0-f/ + $a4a or $b4a
  189.     lea     sinus+$680(pc),a5      ;szelesseg/2/ es vonal hossz values
  190.     move.w     (a2)+,lap           ;lapok szama 
  191. h77    move.l     (a2)+,d7            ;hany pontot kosson ossze
  192.     move.l     (a2)+,a4            ;oszzekotesi sorrend
  193.     move.l     (a2)+,scr           ;melyik kepernyore
  194.     move.l     (a2)+,col           ;mutato a szinpalettara,melyik szin a copp.
  195.     move.l     erno(pc),a0         ;ide rajzol
  196.     movem.w (a4),d0/d1/d2      ;lathatosag eldontese
  197.     move.w     (a1,d1.w),d3        ;x1
  198.     sub.w     (a1,d0.w),d3         ;X1-X0
  199.     move.w     2(a1,d2.w),d4       ;y2
  200.     sub.w     2(a1,d1.w),d4        ;Y2-Y1
  201.     move.w     2(a1,d1.w),d5       ;y1
  202.     sub.w     2(a1,d0.w),d5        ;Y1-Y0
  203.     move.w     (a1,d2.w),d6        ;x2
  204.     sub.w     (a1,d1.w),d6         ;X2-X1
  205.     mulu     d4,d3                 ;(y2-y1)(x1-x0)=d3
  206.     mulu     d6,d5                 ;(y1-y0)(x2-x1)=d5
  207.     sub.w     d5,d3                
  208.     bmi.s     vak                    ;nem latszik
  209.     moveq     #8,d5                ;256
  210.     lsr.w     d5,d3                ;d3=d3/256
  211.     and.w     #$1f,d3              ;also 5 bit levalasztasa
  212.     add.w     d3,d3                ;word
  213.     add.w    #6,d3
  214.     movem.l a0/a1,-(sp)
  215.     lea     colors(pc),a0          ;szinek
  216.     lea     copcol(pc),a1          ;copperben a szinek
  217.     add.w     col(pc),a0           ;uj szin
  218.     add.w     col+2(pc),a1         ;melyik szin a copperban
  219.     move.w     (a0,d3.w),d3        ;uj szin bekerese
  220.     move.w     d3,(a1)
  221.     movem.l (sp)+,a0/a1
  222.     
  223.     move.w     (a4)+,d5            ;1.pont
  224.     move.w     (a1,d5.w),d0        ;x1 koordinata
  225.     move.w     2(a1,d5.w),d1       ;y1 koordinata
  226.     bsr     lines                  ;vonalhuzo
  227. vak    subq.w     #1,lap              ;lapszam csokkentes
  228.     bne.w     h77                    ;van meg ?
  229.     move.l     (sp)+,a0
  230.     rts
  231.  
  232. ;********************** line ************************************
  233.  
  234. lines    move.w     (a4)+,d5          ;kovetkezo pont
  235.     move.w     (a1,d5.w),d2      ;x2
  236.     move.w     2(a1,d5.w),d3     ;y2
  237.     movem.w d2/d3,-(sp)      ;kovetkezo pont latarolasa
  238.     cmp.w     d1,d3              ;y2-y1
  239.     bgt.s     p1
  240.     exg     d0,d2                ;kisebb --> coords csere                
  241.     exg     d1,d3                ;mindig a nagyobb y-bol kell huzni !
  242.     beq.s     not                  
  243. p1    move.w     #160,d5           ;kepernyo szelessege
  244.     move.w     d1,d4             ;nagyobb y
  245.     mulu     d5,d4               ;120*y = pont sora
  246.     move.w     d0,d5             ;x0
  247.     add.l     a0,d4              ;$30000+x0 = pont oszlopa
  248.     lsr.w     #3,d5              ;pont sora/8
  249.     add.w     d5,d4              ;megkapja a pont helyet
  250.     moveq     #0,d5
  251.     sub.w     d1,d3              ;Y
  252.     sub.w     d0,d2              ;X   /x1-x2/
  253.     bpl.s     p2
  254.     moveq     #1,d5              ;x2 kisebb volt,a kapott X negativ 
  255.     neg.w     d2                 ;most mar pozitiv X
  256. p2    move.w     d3,d1             ;Y
  257.     add.w     d1,d1              ;2Y
  258.     cmp.w     d2,d1              ;X-2Y
  259.     dbhi     d3,p3               ;csokkenti Y-t ha
  260. p3    move.w     d3,d1             ;Y
  261.     sub.w     d2,d1              ;Y-X
  262.     bpl.s     p4
  263.     exg     d2,d3                ;X csereje Y-al
  264. p4    addx.w     d5,d5
  265.     add.w     d2,d2              ;2Y             
  266.     move.w     d2,d1             ;2Y
  267.     sub.w     d3,d2              ;2Y-X
  268.     addx.w     d5,d5
  269.     add.w     d0,d0
  270.     move.w     d2,d6
  271.     sub.w     d3,d6
  272.     add.w     d3,d3
  273. ok    move.w     (a5,d3.w),d3         ;$58
  274.     move.w     (a3,d0.w),d0         ;$40
  275.     move.b     dat(pc,d5.w),d5      ;melyik siknyolcad
  276.     bsr     okvonal                 ;vonalrajz
  277. not    movem.w (sp)+,d0/d1
  278.     dbf     d7,lines
  279.     rts
  280. dat    dc.l     $3431353,$b4b1757     ;siknyolcad    
  281.  
  282. ;*********** vonal meghuzasa a megadott kepernyon *********************
  283.  
  284. okvonal    move.l     d7,-(sp)
  285.     moveq     #3,d7                ;4 lehetoseg
  286.     swap     d2                    ;a d2-ot felhasznalom
  287.     move.w     scr+2(pc),d2        ;melyik kepernyore
  288. loop    lsr.w     #1,d2                ;az also 3 bit donti el
  289.     bcc.s     noo                    ;Carry=0 --> nem kell
  290.     bsr     wait
  291.     swap     d2                    ;eredeti d2
  292.     move.w     d2,$52(a6)           ;2y-x
  293.     move.w     d0,$40(a6)           ;12-15-->sor kezdopontja /0-f/ + a4a
  294.     move.b     d5,$43(a6)           ;siknyolcad
  295.     move.l     d4,$48(a6)           ;vonal kezdocime
  296.     move.l     d4,$54(a6)           ;vonal kezdocime
  297.     move.w     d1,$62(a6)           ;2y
  298.     move.w     d6,$64(a6)           ;2y-2x
  299.     move.w     d3,$58(a6)           ;szelesseg=2 , magassag=vonal hossza
  300.     swap     d2
  301. noo    add.l     #$28,d4                ;kovetkezo kepernyo
  302.     dbf     d7,loop
  303.     move.l     (sp)+,d7
  304.     rts
  305.  
  306. ;**************** 3D-->2D koordinatak kikalkulalasa ********************
  307.  
  308. calcord    lea     sinus(pc),a1         ;sinus ertekek
  309.     lea     $80(a1),a3           ;cosinus ertekek
  310.     lea     tarolo(pc),a5
  311. h3    movem.w (a0)+,d0/d1/d6   ;x,y,z
  312.     move.w     4(a4),d5          ;Zszog
  313.     bsr     calcul               ;Z-rotation
  314.     move.w     d0,d6             ;X tarolasa
  315.     move.w     d3,d0             ;Y
  316.     move.w     (a4),d5           ;Xszog
  317.     bsr     calcul               ;X-rotation
  318.     move.w     d0,d6             ;uj Y tarolasa
  319.     move.w     d3,d0             ;Z
  320.     move.w     2(a4),d5          ;Yszog
  321.     bsr     calcul               ;Y-rotation
  322.     exg     d0,d3                ;X csere Z-vel    Z=d3
  323.     tst.w     pack
  324.     beq.s     nosave
  325.     move.w     d0,(a5)+
  326.     move.w     d1,(a5)+
  327.     move.w     d3,(a5)+
  328. nosave    moveq     #11,d6             ;lekepezes 2D-re
  329.     move.w     #$400,d2
  330.     sub.w     d3,d2              ;$400-Z
  331.     muls     d2,d0               ;z'*x
  332.     asr.l     d6,d0              ;z'*x/2048=2D X
  333.     muls     d2,d1               ;z'*y
  334.     asr.l     d6,d1              ;z'*y/2048=2D Y
  335.     add.w     #150,d0         ;X=X+150     kozepre a kepernyon           
  336.     add.w     #100,d1            ;Y=Y+100
  337.     move.w     d0,(a2)+         ;2D X tarolasa
  338.     move.w     d1,(a2)+          ;2D Y tarolasa
  339.     dbf     d7,h3                ;8-szor               
  340.     rts
  341.         
  342. calcul    move.w     (a3,d5.w),d4     ;cos ertek
  343.     move.w     (a1,d5.w),d5     ;sin ertek
  344.     move.w     d0,d2            ;c1
  345.     move.w     d1,d3        ;c2
  346.     muls     d4,d0        ;c1*cos(c0angle)
  347.     muls     d5,d1        ;c2*sin(c0angle)
  348.     muls     d4,d3        ;c2*cos(c0angle)
  349.     muls     d5,d2        ;c1*sin(c0angle)
  350.     sub.l     d1,d0        ;c1*cos(c0angle)-c2*sin(c0angle)
  351.     add.l     d2,d3        ;c2*cos(c0angle)+c1*sin(c0angle)
  352.     add.l     d0,d0        
  353.     add.l     d3,d3
  354.     swap     d0                 ;uj c1
  355.     swap     d3                 ;uj c2
  356.     move.w     d6,d1        
  357.     rts
  358.  
  359. ;************* kis kocka 2D koordinatainak meghat. *******************
  360.  
  361. minor    movem.l a1-a3/a5,-(sp)
  362.     moveq     #0,d0
  363.     move.w     const(pc),d6        ;100 or -100
  364.     move.w     const+2(pc),d0      ;mely tengely const. x,y or z
  365.     bset     d0,muti           ;jelzobit ON
  366.     move.w     d0,d1
  367.     lea     tarolo3(pc),a0         ;work area
  368.     lea     tarolo(pc),a1       ;kis cube kalkulalt 3d adatai
  369.     mulu     #200,d0               ;3 kulon blokk lehet a const szerint
  370.     add.l     d0,a0                ;vegso tarolo
  371.     move.l     a0,a2
  372.     moveq     #0,d2
  373.     moveq     #23,d7               ;24 db 3d coord van
  374. tova    move.w     (a1)+,(a0)+           
  375.     cmp.b     d1,d2                ;d1=0 -->minden X=100 or -100
  376.     bne.s     nemez           ;d1=1 -->minden Y=100 or -100
  377.     move.w     d6,-2(a0)           ;d1=2 -->minden Z=100 or -100
  378. nemez    addq.b     #1,d2
  379.     cmp.b     #3,d2
  380.     bne.s     ect
  381.     moveq     #0,d2
  382. ect    dbf     d7,tova        
  383.     move.l     a2,a0               ;x,y,z coords
  384.     lea     100(a0),a2             ;tarolo
  385.     lea     addx(pc),a4            ;elforgatas a big cube szerint is !!!
  386.     clr.w     pack                 ;nem kell 3d x,y,z
  387.     moveq     #7,d7                
  388.     bsr     calcord
  389. nyet    movem.l (sp)+,a1-a3/a5
  390.     rts
  391.  
  392.  
  393. wait    btst     #$e,2(a6)          ;waitblitter
  394.     bne.s     wait
  395.     rts
  396.  
  397. ;***********************************************************************
  398.  
  399. copper    dc.w $100,$200,$8e,$2c81,$90,$2cc1,$92,$38,$94,$d0
  400.     dc.w $180,0,$108,$78,$10a,$78,$182
  401. copcol    dc.w 0,$184,0,$186,0,$188,0,$18a,0,$18c,0,$18e,0,$190,0,$192,0
  402.     dc.w $194,0,$196,0,$198,0,$19a,0,$19c,0,$19e,0
  403.     dc.w $e0,3,$e4,3,$e8,3,$ec,3,$e2
  404. copscr    dc.w 0,$e6,$28,$ea,$50,$ee,$78
  405.     dc.w $3001,$fffe,$100,$4200,$180,$ff0,$3101,$fffe,$180,$125
  406.     dc.w $f001,$fffe,$100,$200,$180,$ff0,$f101,$fffe,$180,0
  407.     dc.w $ffff,$fffe
  408.  
  409. ;************************* object coords *************************
  410.  
  411. coords1    dc.w -100,100,100,100,100,100,100,-100,100,-100,-100,100
  412.     dc.w -100,100,-100,100,100,-100,100,-100,-100,-100,-100,-100
  413.  
  414. coords2    dc.w -50,50,50,50,50,50,50,-50,50,-50,-50,50
  415.     dc.w -50,50,-50,50,50,-50,50,-50,-50,-50,-50,-50
  416.  
  417. ;******************** $26 a szinek tavolsaga !!!! **************
  418. ;0,$26,$4c,$72,$98,$be,$e4
  419.  
  420.  
  421. ;0001  --> alap
  422. ;0010  --) alap+40
  423. ;0100  --> alap+80
  424. ;1000  --> alap+120
  425.  
  426. ;1:alap=$182/0 2:alap+40=$184/4 3:alap,alap+40=$186/8
  427. ;4:alap+80=$188/c 5:alap,alap+80=$18a/10 
  428. ;6:alap+40,alap+80=$18c/14 7:alap,alap+40,alap+80=$18e/18
  429. ;8:alap+120=$190/1c 9:alap,alap+120=$192/20
  430. ;10:alap+40,alap+120=$194/24 11:alap,alap+40,alap+120=$196/28
  431. ;12:alap+80,alap+120=$198/2c
  432. ;13:alap,alap+80,alap+120=$19a/30 14:alap+40,alap+80,alap+120=$19c/34
  433. ;15:alap,alap+40,alap+80,alap+120=$19e/38
  434.  
  435. meghat1    dc.w 6
  436.     dc.l 3,kot1,1,$00e40000,$00640002          ;z=100 const.
  437.     dc.l 3,kot2,1,$00e40000,$ff9c0002       ;z=-100
  438.     dc.l 3,kot3,2,$00e40004,$00640000       ;x=100
  439.     dc.l 3,kot4,2,$00e40004,$ff9c0000       ;x=-100
  440.     dc.l 3,kot5,4,$00e4000c,$00640001       ;y=100
  441.     dc.l 3,kot6,4,$00e4000c,$ff9c0001       ;y=-100
  442.  
  443. meghat2    dc.w 6
  444.     dc.l 3,kot1,4,$00260010   ;alap,alap+80
  445.     dc.l 3,kot2,4,$00260010   ;alap,alap+80
  446.     dc.l 3,kot3,6,$00260018   ;alap,alap+40,alap+80
  447.     dc.l 3,kot4,6,$00260018   ;alap,alap+40,alap+80
  448.     dc.l 3,kot5,8,$00260020   ;alap,alap+120
  449.     dc.l 3,kot6,8,$00260020   ;alap,alap+120
  450.  
  451. meghat3    dc.w 6
  452.     dc.l 3,kot1,4,$00720014   ;alap+40,alap+80
  453.     dc.l 3,kot2,4,$00720014   ;alap+40,alap+80
  454.     dc.l 3,kot3,8,$00720024   ;alap+40,alap+120
  455.     dc.l 3,kot4,8,$00720024   ;alap+40,alap+120
  456.     dc.l 3,kot5,9,$00720028   ;alap+40,alap,alap+120
  457.     dc.l 3,kot6,9,$00720028   ;alap+40,alap,alap+120
  458.  
  459. meghat4    dc.w 6
  460.     dc.l 3,kot1,8,$00be002c   ;alap+80,alap+120
  461.     dc.l 3,kot2,8,$00be002c   ;alap+80,alap+120
  462.     dc.l 3,kot3,9,$00be0030   ;alap+80,alap,alap+120
  463.     dc.l 3,kot4,9,$00be0030   ;alap+80,alap,alap+120
  464.     dc.l 3,kot5,10,$00be0034   ;alap+80,alap+40,alap+120
  465.     dc.l 3,kot6,10,$00be0034   ;alap+80,alap+40,alap+120
  466.  
  467. kot1    dc.w 0,4,8,12,0       
  468. kot2    dc.w 16,28,24,20,16
  469. kot3    dc.w 4,20,24,8,4
  470. kot4    dc.w 0,12,28,16,0
  471. kot5    dc.w 0,16,20,4,0
  472. kot6    dc.w 12,8,24,28,12
  473.  
  474. ;                         kek
  475. colors    dc.w 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,$11f,$22f,$33f
  476. ;                         piros
  477.     dc.w 0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$a00,$b00
  478.     dc.w $c00,$d00,$e00,$f00,$f11,$f22,$f33
  479. ;                         zold
  480.     dc.w 0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$a0,$b0,$c0,$d0,$e0,$f0
  481.     dc.w $f1,$f2,$f3
  482. ;              sarga
  483.     dc.w 0,$110,$220,$330,$440,$550,$660,$770,$880,$990,$aa0,$bb0,$cc0
  484.     dc.w $dd0,$ee0,$ff0,$ff1,$ff2,$ff3
  485. ;              lila    
  486.     dc.w 0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$a0a,$b0b,$c0c
  487.     dc.w $d0d,$e0e,$f0f,$f1f,$f2f,$f3f
  488. ;              cyan
  489.     dc.w 0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$aa,$bb,$cc,$dd,$ee,$ff
  490.     dc.w $1ff,$2ff,$3ff
  491. ;                          feher
  492.     dc.w 0,$111,$222,$333,$444,$555,$666,$777,$888,$999,$aaa,$bbb
  493.     dc.w $ccc,$ddd,$eee,$fff,$fef,$fdf,$fcf
  494.  
  495.  
  496. addx    dc.w 0             ;xangle 
  497. addy    dc.w 0            ;yangle
  498. addz    dc.w 0             ;zangle
  499. addx2    dc.w 0             ;xangle 
  500. addy2    dc.w 0            ;yangle
  501. addz2    dc.w 0             ;zangle
  502. lap    dc.w 0             ;siklapok szama/object
  503. pack    dc.w 0
  504. muti    dc.b 0
  505.     EVEN
  506. const    dc.l 0
  507. scr    dc.l 0             ;kepernyo
  508. col    dc.l 0             ;color , coppercolor
  509. erno    dc.l $38000        ;kepernyo
  510. sinus    incbin "Coleccion_Sources1:Sources/Vectores/raytr.dat"
  511. tarolo    blk.w 100,0
  512. tarolo1    blk.w 50,0
  513. tarolo2    blk.w 50,0
  514. tarolo3    blk.b 600,0
  515.